package com.team.cloudsharing.controller.user;

import org.springframework.http.ResponseEntity;

import com.team.cloudsharing.dto.LoginResponse;
import com.team.cloudsharing.dto.Message;
import com.team.cloudsharing.dto.User;
import com.team.cloudsharing.dto.UserChangePwd;

public interface UserController {
	public ResponseEntity<LoginResponse> login(String cloudSharingToken, User user);
	
	public ResponseEntity<Message> logout(String macAddress);
	
	public ResponseEntity<LoginResponse> loginSocial(String cloudSharingToken, User user);
	
	public ResponseEntity<LoginResponse> loginWithRememberToken(String cloudSharingToken, String rememberToken);

	public ResponseEntity<Message> register(String cloudSharingToken, User user);
	
	public ResponseEntity<Message> registerSocial(String cloudSharingToken, User user);

	public ResponseEntity<Message> registerConfirm(String cloudSharingToken, String userEmail, String activationCode);
	
	public ResponseEntity<Message> reSendActivationLink(String cloudSharingToken, String userEmail);

	public ResponseEntity<Message> forgetPassword(String cloudSharingToken, String userEmail);
	
	public ResponseEntity<Message> changePassword(String cloudSharingToken, UserChangePwd userChangePwd, String keyResetPass);
	
	public ResponseEntity<Message> checkUserEmailAlreadyExisted(String cloudSharingToken, String userEmail);
	
	public ResponseEntity<Message> getRememberMe(String cloudSharingToken, User user);

	public ResponseEntity<Message> updateRegistrationId(String cloudSharingToken, User user);
	
	public ResponseEntity<Message> getCapacity(String userEmail);
	//public ResponseEntity<HashMap<String,Double>> getCapacity(String userEmail);
}
